package com.frankghost.le.playgif;

import android.graphics.Bitmap;

/**
 * Created by LX on 2017/11/2.
 */

public class GifHandler {
    private long gifPoint;

    public GifHandler(String gifPoint) {
        this.gifPoint =  loadGif(gifPoint);
    }

    static {
        System.loadLibrary("native-lib");
    }
    /**
     * 加载gif图片
     *
     * @param gifPath 加载gif图片的路径
     * @return 返回gif图片的C指针
     */
    private native long loadGif(String gifPath);

    /**
     * 获取Gif高度
     *
     * @param gifPoint gif当前位置
     * @return 当前帧的高度
     */
    private native int gitHeight(long gifPoint);

    /**
     * 获取gif图片宽度
     *
     * @param gifPoint gif当前位置
     * @return 当前帧的宽度
     */
    private native int gifWidth(long gifPoint);

    /**
     * 更新绘制
     *
     * @param bitmap   Gif图片
     * @param gifPoint 当前的位置
     * @return 下一帧的时长
     */
    private native int updateFrame(Bitmap bitmap, long gifPoint);

    public int getWidth() {
        return gifWidth(gifPoint);
    }

    public int getHeight() {
        return gitHeight(gifPoint);
    }

    public int updateFrame(Bitmap bitmap) {
        return updateFrame(bitmap, gifPoint);
    }
}
